package com.mt.roll.process.params;

import com.mt.roll.core.base.BaseParam;
import com.mt.roll.core.validator.groups.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @Author: liguanghao
 * @Date: 2020/12/30 14:45
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "工艺设备点参数对象", description = "用于新增和更新工艺设备点信息")
public class ProcessFlowEquipmentParam extends BaseParam {
    private static final long serialVersionUID = 1L;

    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "主键，更新时需要填写", example = "1")
    @NotNull(message = "工艺设备点ID不能为空", groups = {UpdateGroup.class})
    private Long id;

    /**
     * 工艺ID
     */
    @ApiModelProperty(value = "工艺ID", required = true, example = "1")
    @NotBlank(message = "工艺ID不能为空")
    private Long processFlowId;
    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID", required = true, example = "1")
    @NotBlank(message = "设备ID不能为空")
    private Long equipmentId;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称", required = false, example = "设备名称")
    private String equipmentName;
    /**
     * 设备配方ID
     */
    @ApiModelProperty(value = "设备配方ID", required = true, example = "1")
    //@NotBlank(message = "设备配方ID不能为空")
    private Long equipmentRecipeId;
    /**
     * 设备配方名称
     */
    @ApiModelProperty(value = "设备配方名称", required = false, example = "设备配方名称")
    private String equipmentRecipeName;
    /**
     * 设备BomID
     */
    @ApiModelProperty(value = "设备BomID", required = true, example = "1")
    @NotBlank(message = "设备配方ID不能为空")
    private Long equipmentBomId;
    /**
     * 设备配方名称
     */
    @ApiModelProperty(value = "设备Bom名称", required = false, example = "设备Bom名称")
    private String equipmentBomName;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注",required = false, example = "0")
    private String remark;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", required = false,example = "0")
    private String description;
    /**
     * 节点类型
     */
    @ApiModelProperty(value = "节点类型", required = true, example = "1")
    //@NotBlank(message = "节点类型不能为空")
    private Integer nodeType;
    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", example = "0")
    private Long enabled;
    /**
     * 工序Id
     */
    @ApiModelProperty(value = "工序Id", example = "1")
    private Long workSequenceId;
}
